<?php
/**
 * 竞标项目模型
 */

namespace app\common\model;

use think\model\concern\SoftDelete;

class Project extends CommonBaseModel {
	use SoftDelete;
	// 自定义选择数据
	// 状态列表
	const STATUS_LIST = [
		0 => '未开始',
		1 => '已开始',
		2 => '已结束',
		3 => '已作废',
	];
	const WIN_LIST = [
		//0 => '倒序第二',
		0 => '倒序第一',
		//1 => '倒序第二三四五',
	];
	protected $name = 'project';
	protected $autoWriteTimestamp = true;
	protected $json = ['detail'];
	protected $jsonAssoc = true;
	// 可搜索字段
	public array $searchField = ['title'];

	// 可作为条件的字段
	public array $whereField = ['cate_id', 'status'];

	// 可作为多选条件的字段
	public array $multiWhereField = [];

	// 可做为时间
	public array $timeField = [];

	/**
	 * 开始时间获取器
	 */
	public function getStartTimeAttr($value) {
		return date('Y-m-d H:i:s', $value);
	}

/**
 * 开始时间修改器
 */
	public function setStartTimeAttr($value) {
		return strtotime($value);
	}

	/**
	 * 开始时间获取器
	 */
	public function getEndTimeAttr($value) {
		return date('Y-m-d H:i:s', $value);
	}

/**
 * 开始时间修改器
 */
	public function setEndTimeAttr($value) {
		return strtotime($value);
	}
	/**
	 * 状态获取器
	 */
	public function getStatusNameAttr($value, $data) {
		return self::STATUS_LIST[$data['status']];
	}
	public function getWinNameAttr($value, $data) {
		return self::WIN_LIST[$data['win']];
	}
	/**
	 * 关联
	 */
	public function projectLog() {
		return $this->hasMany(ProjectLog::class);
	}/**
	 * 关联
	 */
	public function cate() {
		return $this->belongsTo(Cate::class);
	}

}
